
#ifndef __VEDA_SEMAPHORE_H__
#define __VEDA_SEMAPHORE_H__

#ifdef VEDA_OS_LINUX
#include <semaphore.h>
#endif
#ifdef VEDA_OS_WIN32
#include <Windows.h>
#endif

#include "VInfra/VDefine.h"
#include "VInfra/VSemaphore.h"

namespace Veda{

class InnerVSemaphore
{
V_INNERCLASS(InnerVSemaphore)
	friend class VSemaphore;
	
#ifdef VEDA_OS_LINUX
	sem_t* m_sem;
#endif
#ifdef VEDA_OS_WIN32
	HANDLE m_sem;
	volatile LONG m_sval;
#endif
};

}

#endif

